local function MakeAThing(class, model, position, angles)
	local Thing = ents.Create(class)
	if not ValidEntity(Thing) then return end
	Thing:SetAngles(angles)
	Thing:SetModel(model)
	Thing:SetPos(position)
	Thing:Spawn()
	
	if not Thing:GetPhysicsObject():IsValid() then return end
	Thing:GetPhysicsObject():EnableMotion(false)
end

local function spawnThings()
	if SERVER then
		// Misc Buyer's
		MakeAThing('black_market_guy', 'models/eli.mdl', Vector(-1480.6875,2016.71875,141.28125), Angle(0,0,0))
		MakeAThing('black_market_guy', 'models/humans/group03/male_01.mdl', Vector(-2292.1875,335.6875,-542.6875), Angle(0,90,0))
		MakeAThing('black_market_guy', 'models/humans/group03/male_03.mdl', Vector(-455.78125,-1107.9375,145.28125), Angle(0,270,0))

		
		// Vending machines
		MakeAThing('vendingmachine', 'models/props_interiors/vendingmachinesoda01a.mdl', Vector(1046.59375,1371.3125,148.375), Angle(0.08790135383606,-90.010986328125,0.13185203075409))
		MakeAThing('vendingmachine', 'models/props_interiors/vendingmachinesoda01a.mdl', Vector(-1836.09375,200.6875,148.4375), Angle(0,0,-0.087890625))
		MakeAThing('vendingmachine', 'models/props_interiors/vendingmachinesoda01a.mdl', Vector(-1384.5217285156,1567.736328125,-103.56692504883), Angle(0.02197265625,90.642700195313,0.010986328125))
		
		
		// Bank
		MakeAThing('storage_guy', 'models/humans/group02/male_09.mdl', Vector(1211.3125,-165.65625,140.5), Angle(0,180,0))
		MakeAThing('prop_physics', 'models/hunter/blocks/cube05x2x05.mdl', Vector(1049.8125,-67.03125,144.90625), Angle(0,-89.088012695313,-90.010986328125))
		MakeAThing('prop_physics', 'models/hunter/blocks/cube05x2x05.mdl', Vector(1053.09375,-274.625,144.90625), Angle(0,-89.088012695313,-90.010986328125))
		MakeAThing('prop_physics', 'models/hunter/plates/plate5x5.mdl', Vector(1153.34375,-169.21875,95.9375), Angle(0,-179.09901428223,0))
		MakeAThing('prop_physics', 'models/hunter/plates/plate5x5.mdl', Vector(1156.03125,-169.1875,190.96875), Angle(0,-179.09901428223,0))
		MakeAThing('prop_physics', 'models/hunter/plates/plate2x4.mdl', Vector(1180.8125,-286.6875,141.90625), Angle(90.010986328125,-89.088012695313,179.97802734375))
		MakeAThing('prop_physics', 'models/hunter/plates/plate2x4.mdl', Vector(1177.09375,-50.96875,141.90625), Angle(90.010986328125,90.889999389648,179.97802734375))
		MakeAThing('prop_physics', 'models/hunter/plates/plate2x5.mdl', Vector(1272.34375,-167.34375,141.90625), Angle(90.010986328125,-179.09901428223,179.97802734375))
		MakeAThing('prop_physics', 'models/hunter/plates/plate1x5.mdl', Vector(1155.625,-169.21875,120.8125), Angle(90.010986328125,0.8790135383606,179.97802734375))
		MakeAThing('prop_physics', 'models/hunter/plates/plate1x5.mdl', Vector(1180.84375,-168.8125,143.03125), Angle(0,-179.09901428223,0))
		MakeAThing('prop_physics', 'models/props_building_details/storefront_template001a_bars.mdl', Vector(1184.375,-255.875,140.25), Angle(0,0.8790135383606,0))
		MakeAThing('prop_physics', 'models/props_building_details/storefront_template001a_bars.mdl', Vector(1183.6875,-212.34375,140.25), Angle(0,0.8790135383606,0))
		MakeAThing('prop_physics', 'models/props_building_details/storefront_template001a_bars.mdl', Vector(1182.3125,-125.21875,140.25), Angle(0,0.8790135383606,0))
		MakeAThing('prop_physics', 'models/props_building_details/storefront_template001a_bars.mdl', Vector(1181.625,-81.65625,140.25), Angle(0,0.8790135383606,0))
		MakeAThing('prop_physics', 'models/props_lab/citizenradio.mdl', Vector(1175.1875,-270.84375,145), Angle(-0.0439453125,-178.96716308594,0))
		MakeAThing('prop_physics', 'models/props_interiors/vendingmachinesoda01a.mdl', Vector(1108.9375,-73.6875,142.3125), Angle(0,-90.010986328125,0))
		
		// PD Blockade
		MakeAThing('prop_physics', 'models/props_wasteland/interior_fence002d.mdl', Vector(-2931.8125,-528.34375,164.78125), Angle(0.17580270767212,179.97802734375,0))
		MakeAThing('prop_physics', 'models/props_wasteland/interior_fence002d.mdl', Vector(-2807.625,-653.96875,164.6875), Angle(0,-90.010986328125,0))
		MakeAThing('prop_physics', 'models/props_wasteland/interior_fence002d.mdl', Vector(-2618.15625,-654.96875,164.6875), Angle(0,-90.010986328125,0))
		MakeAThing('prop_physics', 'models/props_vehicles/generatortrailer01.mdl', Vector(-2612.875,-267.375,100.21875), Angle(-0.087890625,-141.08168029785,0))
		MakeAThing('prop_physics', 'models/combine_apc.mdl', Vector(-2799.15625,-496.03125,94.0625), Angle(0,-138.92808532715,0))
		MakeAThing('prop_physics', 'models/combine_apc.mdl', Vector(-2612.9375,-442.53125,91.90625), Angle(0,179.97802734375,0))
		MakeAThing('prop_physics', 'models/props_combine/combinetower001.mdl', Vector(-2936.75,-669.0625,371.53125), Angle(0,-2.8567810058594,0))
		
		// Food Tables
		MakeAThing('prop_physics', 'models/props_wasteland/kitchen_counter001d.mdl', Vector(-2595.75,-1200.4375,120.40625), Angle(0,-89.483581542969,0))
		MakeAThing('prop_physics', 'models/props_lab/citizenradio.mdl', Vector(-2557.8125,-1206.375,112), Angle(0,134.70883178711,0))
		
		MakeAThing('prop_physics', 'models/props_wasteland/kitchen_counter001d.mdl', Vector(188.625,-1437.71875,124.40625), Angle(0,179.27481079102,0))
		MakeAThing('prop_physics', 'models/props_lab/citizenradio.mdl', Vector(181.90625,-1475.3125,116.03125), Angle(0.04395067691803,43.730922698975,0.13185203075409))
		
		// Park Benches
		MakeAThing('prop_physics', 'models/props_trainstation/bench_indoor001a.mdl', Vector(-731.78125,945.4375,119.25), Angle(0.30765473842621,-90.274688720703,0))
		MakeAThing('prop_physics', 'models/props_lab/citizenradio.mdl', Vector(-707.46875,941.9375,117.03125), Angle(-4.4829711914063,-90.274688720703,0))
		
		MakeAThing('prop_physics', 'models/props_trainstation/bench_indoor001a.mdl', Vector(73.5625,1538.28125,119.25), Angle(0.30765473842621,178.96716308594,0))
		MakeAThing('prop_physics', 'models/props_lab/citizenradio.mdl', Vector(69.78125,1514.03125,117.03125), Angle(-4.4829711914063,178.96716308594,0))
		
		MakeAThing('prop_physics', 'models/props_trainstation/bench_indoor001a.mdl', Vector(424.1875,919.40625,119.25), Angle(0.30765473842621,-88.252960205078,0))
		MakeAThing('prop_physics', 'models/props_lab/citizenradio.mdl', Vector(448.59375,916.8125,117.03125), Angle(-4.4829711914063,-88.252960205078,0))
		
		MakeAThing('prop_physics', 'models/props_trainstation/bench_indoor001a.mdl', Vector(1259,1276.75,119.25), Angle(0.30765473842621,-177.25308227539,0))
		MakeAThing('prop_physics', 'models/props_lab/citizenradio.mdl', Vector(1256.8125,1252.3125,117.03125), Angle(-4.4829711914063,-177.25308227539,0))
		
		MakeAThing('prop_physics', 'models/props_trainstation/bench_indoor001a.mdl', Vector(-1459.9375,-382.4375,119.25), Angle(0.30765473842621,-177.1651763916,0))
		MakeAThing('prop_physics', 'models/props_lab/citizenradio.mdl', Vector(-1462.0625,-406.875,117.03125), Angle(-4.4829711914063,-177.1651763916,0))
		
		// Phones
		MakeAThing('prop_physics', 'models/props_trainstation/payphone_reciever001a.mdl', Vector(-1835.7706298828,-638.546875,136.03974914551), Angle(-0.0823974609375,0.263671875,-0.032958984375))
		MakeAThing('prop_physics', 'models/props_trainstation/payphone_reciever001a.mdl', Vector(-1512.1701660156,2123.5935058594,136.60372924805), Angle(0,0,0))
		MakeAThing('prop_physics', 'models/props_trainstation/payphone_reciever001a.mdl', Vector(-1419.9710693359,1547.8745117188,-116.26292419434), Angle(0,90,0))
		MakeAThing('prop_physics', 'models/props_trainstation/payphone_reciever001a.mdl', Vector(892.8662109375,-1046.5447998047,139.02917480469), Angle(0,90,0))
		MakeAThing('prop_physics', 'models/weapons/w_camphone.mdl', Vector(-1234.6671142578,770.60827636719,-774.775390625), Angle(0,135,0))
		
		MakeAThing('prop_physics', 'models/props_trainstation/payphone001a.mdl', Vector(892.79870605469,-1046.8012695313,139.0074005127), Angle(0,89.280395507813,0))
		
		
		// Misc
		MakeAThing('prop_physics', 'models/props/cs_havana/gazebo.mdl', Vector(1163.96875,-720.9375,107.75), Angle(0,-179.97802734375,-0.0439453125))
		MakeAThing('prop_physics', 'models/props/cs_assault/chaintrainstationsign.mdl', Vector(-1639.75,974.5,190.4375), Angle(-0.65927124023438,-91.065795898438,0))
		MakeAThing('prop_physics', 'models/props_lab/blastdoor001a.mdl', Vector(-2400.3176269531,-273.17306518555,-159.5182800293), Angle(0.3021240234375,-0.296630859375,0.010986328125))
		MakeAThing('prop_physics', 'models/props_furniture/kitchen_table.mdl', Vector(-1237.1804199219,773.10400390625,-777.52746582031), Angle(0,-90,179.99450683594))
		
		// Misc Ents		
		MakeAThing('GunLawsBoard', 'models/props/cs_assault/billboard.mdl', Vector(-155.8005065918,1991.0256347656,403.24798583984), Angle(0,-90.010986328125,0))
		MakeAThing('CityLawsBoard', 'models/props/cs_assault/billboard.mdl', Vector(-504.259765625,411.51391601563,412.16305541992), Angle(0,89.994506835938,0))
		
		MakeAThing('gundispenser', 'models/props_farm/welding_machine01.mdl', Vector(-2908.9528808594,-2403.6555175781,100.40077972412), Angle(-0.0054931640625,179.97253417969,-0.06591796875))
		
		MakeAThing('Fizzler', 'models/props_c17/lampshade001a.mdl', Vector(-3081.8547363281,-2616.6684570313,172.63223266602), Angle(-0.0714111328125,88.61572265625,-0.0054931640625))
	end
end

hook.Add( "InitPostEntity", "MapStartTrigger", spawnThings)